#ifndef STATUS_BAR_H
#define STATUS_BAR_H

enum StatusDisplayType {
	STATUS_TEXT,
	STATUS_RESIDUE
};

#define STATUS_BAR_LOCKED	1

class PDBManager;

class SharedStatusBar : public wxStatusBar {
	PDBManager *pdbManager;
	StatusDisplayType type;
	unsigned int flags;
	int statusUpdate;
	int lastCount;
public:
	SharedStatusBar(wxWindow *parent, PDBManager *pdbManager);
	// Will display text until unlocked.
	// Calling when locked will override previous locked text.
	void LockText(const wxString &string);
	void UnlockText();

	void SetText(const wxString &string);
	void SetResidue(int chain, int residue);
	void UpdateSelectionCount();
	void UpdatePDB(PDBManager *manager);

	void OnSize(wxSizeEvent& evt);
	void PlaceFields();

	DECLARE_EVENT_TABLE()
};

#endif
